// pages/card-center/loginpage/login.js

const TIM = require("../../../components/tim/tim-wx");
const app = getApp();


let tim = wx.$TIM;

Page({

  /**
   * 页面的初始数据
   */
  data: {

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    wx.showLoading({
      title: '加载中',
      mask: true
    });

    tim.setLogLevel(0);
    this.setData({
      id: options.id,
      userType: options.userType
    })

    this.im_on();

    let userId;
    let _this = this;
    if (options.userType == 1) {
      userId = 'E' + app.globalData.employeeInfo.id.toString()
    } else {
      userId = 'C' + app.globalData.customInfo.id.toString()
    }

    let promise = tim.login({
      userID: userId,
      userSig: app.globalData.userSig
    });
    promise.then((imResponse) => {
      console.log('-----登录成功', imResponse); // 登录成功
      if (imResponse.data.repeatLogin) {
        // 标识账号已登录，本次登录操作为重复登录。v2.5.1 起支持
        _this.toChatPage();
        console.log(imResponse.data.errorInfo);
      }
    }).catch(function (imError) {
      console.warn('login error:', imError); // 登录失败的相关信息
    });
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    wx.hideLoading();
  },

  toChatPage: function () {

    if (this.data.userType == 1) {
      wx.redirectTo({
        url: '../../my/chatroom/chatroom',
      })
    } else {
      wx.redirectTo({
        url: '../chat/chat?id=' + this.data.id,
      })
    }
  },

  /**
   * 监听IM是否启动
   */
  im_on: function () {
    let _this = this;

    console.log('监听IM中-------------------------');

    tim.on(TIM.EVENT.SDK_READY, (event) => {
      // 收到离线消息和会话列表同步完毕通知，接入侧可以调用 sendMessage 等需要鉴权的接口
      // event.name - TIM.EVENT.SDK_READY
      console.log('----------收到离线消息和会话列表同步完毕通知')
      _this.toChatPage()
    });
  },
})